﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Skugo.Core
{
    /// <summary>
    /// All of our dragged plugin data must implement this interface.
    /// </summary>
    public class PluginDragData
    {
        /// <summary>
        /// The format we use for drag drop data.
        /// </summary>
        public const String Format = "PluginDragData";

        public PluginDragData(Plugin source, Byte[] data)
        {
            this.Source = source;
            this.Data = data;
        }

        /// <summary>
        /// The original source plugin from where the data originated.
        /// This field is important because it's up to the original to
        /// actually serialize the plugin data, and deserialize it on the other end.
        /// </summary>
        internal Plugin Source;

        /// <summary>
        /// The serialized data that we send to the other side
        /// We expect the remote plugin to deserialize this data.
        /// </summary>
        internal Byte[] Data;
    }
}
